The average size of data sets in most computer or data processing centers is significantly less than the capacity of tape or optical data-storing disk volumes. Also, most programming support for peripheral data storage subsystems does not provide a general solution to storing multiple data sets in the same volume, particularly tape volumes. Consequently, the potential capacity of tape storage is often not realized because a single small data set is stored in one tape volume leaving the remainder of the volume unused.
With the advent of automated tape libraries (ATL), the cost of this unused storage includes, not only the percentage of the volume which is not utilized, but also the cost of storing that unused medium in the ATL. Tape products and their associated software support which develop mechanisms which can fully utilize volume capacities will, in general, have a significant competitive advantage over comparable products which cannot fully utilize volume capacity.
One possible mechanism to better utilize the capacity of a tape volume is to store multiple volume images, virtual or logical volumes (LV), on a single physical volume. For better utilization of data-storage space, the data which would have been stored in multiple, mostly unused, physical volumes are collected into a single physical volume. Such data, in accordance with this invention, are stored in separately addressable host-processor defined logical data storage volumes. Access to the first byte of data in such logical or virtual volumes may be slower than the access to a first byte of data in a single physical volume. In the logical volume case the beginning of the logical volume is generally somewhere away from the normal tape loading point. This fact means that before the first byte of data in a logical volume is accessible, not only is the physical volume mounted but the logical volume has to be found by moving the tape to place the logical volume at the tape transducer. Also, concurrent conflicting access requests to multiple logical volumes residing on the same tape have to be resolved.
It is also desired that the host processor and/or personnel operating the host processor have no activities that relate to storing a plurality of volumes of data in one physical volume. In the prior art, manual control is required for creating or establishing a defined or requested data storage volume. It is desired to limit the required manual steps to merely defining each desired volume and for inserting scratch physical volumes into an ATL or open shelf storage.
The benefits of this enhanced capacity utilization without host processor nor personnel involvement greatly simplifies and obviates the need for personal attention to a data storage system. However, these benefits come at the expense of creating additional problems which must be handled, that is:
The volume image is no longer externally identifiable such that some component of the host/library system must maintain a mapping of logical volumes to physical volumes. This mapping information is a critical system assist which must be highly available, highly reliable, and disaster recoverable. PA1 Logical volumes in a same mounted physical data storage volume are not concurrently accessible. When there are requests to simultaneously mount a plurality of logical volumes stored in a same physical volume, either all but one of the mounts must be deferred, possibly creating a data processing deadlock. An alternative is to move all but one of the logical volumes from the one physical volume to other physical volumes. If a data movement solution is chosen, access to any data on the one physical volume is delayed while the copies are made. This solution may not always be practical for many data processing environments. PA1 Access to the first byte of data stored in a physical tape volume may be slower than if but one logical volume is stored in each physical tape volume. That is, since the beginning of any logical volume is usually displaced from the normal loading point, the tape has be to moved to position the beginning of a logical volume at the tape drive transducer or head. PA1 Depending on how data storage space is managed for logical volumes (each addressable logical volume is stored in a "partition" in a physical volume), the size (number of data bytes) of a logical volume (data storage space required for a logical volume must accommodate volume size) can be expected to be unpredictable. One solution is to prevent appending data to data currently stored in a logical volume that is "full". Such partitions as used herein, are logically co-extensive with logical volumes. High speed searches on the tape are based on segments or position reference values (PRVs), as will become apparent and as set forth in Milligan et al, supra. Some prior art documents use the term "partition" in a same vein as the term "segment" is used herein.
To solve the above-stated problems, as well as other problems, using current day data storage management practices requires an undue attention to assignment and storage of data using the logical volume approach. It is desired that the current practices in host processors and manual procedures required by attending personnel not be made cumbersome. Therefore, it is desired to provide mechanisms and methods for storing a plurality of logical data storage volumes in one physical data storage volume wherein the data management activates in a host processor and of the attending personnel do not change for defining volumes. It is desired to eliminate the current need for defining and assigning which physical data storage volume is to be used for storing any given logical volume and to eliminate a current need for assigning a physical volume for storing data before that data are sent to a data storage system. In other words, the management of data storage volumes is transparent (not seen) by either the host processor nor its attending personnel.